-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ice(4): Add host SR-IOV support #1573
base: main
Are you sure you want to change the base?
Conversation
Would you be willing to update the manual page for this change? |
If I was sufficiently motivated, I could maybe take a crack at it. @kgalazka have you tried this on E830 devices? The last time I tried it didn't work; I don't know if it's worth calling out somewhere that it doesn't work on those since E830 hasn't been released yet, but I imagine once they are people will expect this to work on those and will be surprised that it mysteriously does not. |
@@ -369,6 +369,14 @@ ice_iov_add_vf(struct ice_softc *sc, uint16_t vfnum, const nvlist_t *params) | |||
goto release_imap; | |||
} | |||
|
|||
/* Add the broadcast address */ | |||
error = ice_add_vsi_mac_filter(vsi, broadcastaddr); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doing this here might mean that this doesn't get re-added after a reset, right? Though, I want to swear that broadcast promiscuous mode should be getting enabled on this VF VSI already.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doing this here might mean that this doesn't get re-added after a reset, right?
Yeah, it's not the best place and I intend to move it.
Though, I want to swear that broadcast promiscuous mode should be getting enabled on this VF VSI already.
Not in ICE as far as I know. We do that in IXL though.
Enable basic SR-IOV support for E800 adapters. Authored-by: Eric Joyner <[email protected]> Signed-off-by: Krzysztof Galazka <[email protected]>
Filter for unicast MAC address is configured with a virtual channel message, but filter for a broadcast traffic was missing. It caused issues with e.g. ARP. Signed-off-by: Krzysztof Galazka <[email protected]>
VF driver may request to configure MSI-X vectors for less queues than assigned by PF. Don't try to configure unassigned vectors to avoid panic. While at that make the loop process whole array of vectors received in a VIRTCHNL_OP_CFG_IRQ_MAP message from a VF. It's not guarantied that vector '0', which is used for other interrupt causes and is not mapped to a queue, will be always on the last position. Condition inside the loop already handles that vector correctly. Signed-off-by: Krzysztof Galazka <[email protected]>
PF driver needs to tear down and setup VF configuration after a reset event, e.g. due to reloading a VF driver. Re-use ice_reset_vf function for that by adding new parameter, which decides if new reset has to be triggered. This most likely does not cover all necessary steps and will be extended in future commits. Signed-off-by: Krzysztof Galazka <[email protected]>
82fdeba
to
e0e855e
Compare
Not there yet. I'm trying to make it ready for full blown testing on E810 first. |
Allows creating Virtual Functions on E800 adapters with up to 16 queues.
Changing MAC address and using promiscuous mode for each VF
may be enabled in configuration.
Please be advised that this is still work in progress and may be unstable.
Authored-by: Eric Joyner [email protected]
Signed-off-by: Krzysztof Galazka [email protected]